/**
 * @author Laboratio Av I
 * @since 18/04/2012 14:03:56
 */
package ar.edu.utn.frgp.banco.dao;

import java.util.List;

import ar.edu.utn.frgp.banco.domain.Cliente;
import ar.edu.utn.frgp.banco.domain.Cuenta;
import ar.edu.utn.frgp.banco.exceptions.DataAccessException;

public interface CuentaDao {
	//Alta Cuenta
	public void altaCuenta(Cuenta cuenta) throws DataAccessException;

	public List<Cuenta> traerCajaAhorroActivos(int dni)throws DataAccessException ;

	public List<Cuenta> traerTodaCajaAhorro(int dni)throws DataAccessException;

	public List<Cuenta> traerCuentasCorrientesActivos(int dni)throws DataAccessException;

	public List<Cuenta> traerTodaCuentasCorrientes(int dni)throws DataAccessException;

	public void bajarCuenta(Cuenta cu)throws DataAccessException;

	public List<Cuenta> obtenerCuenta(int nroCuenta)throws DataAccessException;
	
	public void actualizarCuenta(Cuenta cu)throws DataAccessException;
	
	public Cliente obtenerClienteActivoPreCuenta(int dni) throws DataAccessException;


	public void actualizarSaldoCuenta(double saldo, int nrocuenta)throws DataAccessException;
	
	public Cuenta obtenerUnaCuenta(int nroCuenta) throws DataAccessException;

	public List<Cuenta> traerCuentasActivas(Integer dni)throws DataAccessException;

	public List<Cuenta> traerTodasLasCuentasActivas()throws DataAccessException;
	public List<Cuenta> traerCuentas(int dni, int estado)throws DataAccessException;


		
	}
